LINE Pay決済 都度決済+利用承諾 API一覧
HTTP仕様(.idPass)
Request header |
Content-Type: application/x-www-form-urlencoded;charset=windows-31j |
|
---|---|---|
Method |
POST |
|
Response header |
Content-Type: text/plain;charset=windows-31j |
|
Status Code |
200:常に200を返却 |
EntryTranLinepay 取引登録
これ以降の決済取引で必要となる取引IDと取引パスワードの発行を行い、取引を開始します。
リクエスト
ShopID | 必須
半角英数13桁
ショップID
|
|
---|---|---|
ShopPass | 必須
半角英数64桁
ショップパスワード
|
|
OrderID | 必須
半角英数記号27桁
オーダーID |
|
JobCd | 必須
処理区分 AUTH:仮売上 |
|
Amount | 必須
半角数字8桁
利用金額
|
|
Tax | 半角数字7桁
税送料税送料を指定した場合は、利用金額+税送料が決済金額となります。 |
/payment/EntryTranLinepay.idPass
ShopID=tshop11223344&ShopPass=PASSWORD&OrderID=ORDER0000001&JobCd=AUTH&Amount=1000
レスポンス
OrderID=ORDER0000001&AccessID=a6a6b0061347e90cdef806b39bd28705&AccessPass=5e0e54b892e14ed03e8cf807a6053813
ErrCode=E01&ErrInfo=E01040001
ExecTranLinepay 決済実行
ユーザー端末情報がWEBの場合、これ以降の決済取引で必要となるトークンと遷移URLを返却します。
ユーザー端末情報がAPPの場合、これ以降の決済取引で必要となる遷移URLを返却します。
また、LINE PayへRegKeyの発行を依頼します。
リクエスト
ShopID | 必須
半角英数13桁
ショップID
|
|
---|---|---|
ShopPass | 必須
半角英数64桁
ショップパスワード
|
|
AccessID | 必須
半角英数32桁 固定
取引ID |
|
AccessPass | 必須
半角英数32桁 固定
取引パスワード |
|
OrderID | 必須
半角英数記号27桁
オーダーID |
|
ClientField1 | 全半角100バイト
加盟店自由項目1
|
|
ClientField2 | 全半角100バイト
加盟店自由項目2
|
|
ClientField3 | 全半角100バイト
加盟店自由項目3
|
|
ClientFieldFlag | 半角数字1桁
加盟店自由項目返却フラグ 以下のいずれかを設定します。 |
|
RetURL | 必須
半角英数記号2048桁
決済結果戻しURL 加盟店様が当サービスからの決済結果を受信するための結果受信URLを設定します。 |
|
ErrorRcvURL | 必須
半角英数記号2048桁
処理NG時URL 加盟店様が当サービスからの処理失敗となった結果を受信するための処理NG時URLを設定します。 |
|
ProductName | 必須
全半角4000桁
商品名 |
|
ProductImageUrl | 半角英数記号500桁
商品画像URL 決済画面に表示する画像のURLを設定します。 |
|
LangCd | 半角英字10桁
言語コード 決済待ち画面の言語コードを設定します。 |
|
UserInfo | 半角数字1桁
ユーザー端末情報 1:WEB(デフォルト) |
|
ReturnUrl | 半角英数記号1000桁
戻り先URL お客様の支払い完了後にLINE Payアプリから指定したURLに遷移します。カスタムURLスキームを指定してください。 |
|
BranchName | 全半角100桁
店舗名LINE Payアプリのお支払い履歴に100文字まで表示されます。 |
|
BranchID | 半角英数記号32桁
店舗ID決済がリクエストされた場所を識別するために利用します。 |
|
PaymentType | 必須
半角英字10桁
決済タイプ 以下を指定してください。 |
/payment/ExecTranLinepay.idPass
ShopID=tshop11223344&ShopPass=PASSWORD&AccessID=a6a6b0061347e90cdef806b39bd28705&AccessPass=5e0e54b892e14ed03e8cf807a6053813&OrderID=ORDER0000001&RetURL=https://example.com/receive/success&ErrorRcvURL=https://example.com/receive/error&ProductName=Product&PaymentType=REGISTER
レスポンス
正常
Start | 必須
半角数字1桁
Startフラグ 支払手続き開始IFのURL呼び出し要否を返却します。 |
|
---|---|---|
AccessID | 必須
半角英数32桁 固定
取引ID 【決済実行】呼び出し時に指定した値を返却します。 |
|
Token | 必須
半角英数記号256桁
トークン 取引IDのハッシュ値を返却します。 |
|
StartURL | 必須
半角英数記号256桁
支払手続き開始IFのURL
|
Start=1&AccessID=a6a6b0061347e90cdef806b39bd28705&Token=wpd8A+R8uWZt+GnF6auJtMZNSB4yzSCZR9xdztqdBjGwBS7yYvxSiC0zeMVH+O4F&StartURL=https://x01.xxxx/payment/LinepayStart.idPass
ErrCode=E01&ErrInfo=E01040001
LinepayStart 支払手続き開始IFの呼び出し
LINE Pay決済において、お客様をLINE Payの認証画面へと遷移させる必要があります。
加盟店様はリダイレクト機能を利用して、お客様を当サービスの支払手続き開始IFに誘導してください。
当サービスは各種パラメータを設定し、お客様をLINE Payの認証画面に誘導します。
※取引が特定できない場合、すでに支払いを済ませている場合、支払期限切れの場合等はエラー画面を表示します。
リクエスト
AccessID | 必須
半角英数32桁 固定
取引ID |
|
---|---|---|
Token | 必須
半角英数記号256桁 固定
トークン【決済実行】で発行された値を設定します。 |
/payment/LinepayStart.idPass
AccessID=a6a6b0061347e90cdef806b39bd28705&Token=wpd8A+R8uWZt+GnF6auJtMZNSB4yzSCZR9xdztqdBjGwBS7yYvxSiC0zeMVH+O4F
リダイレクトページサンプル(ユーザー端末情報がWEBの場合)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-31J">
</head>
<body OnLoad='OnLoadEvent();'>
<form name="LinepayStartCall" action="{LinepayStartURL}" method="POST">
<noscript>
<center>
<h2>LINE Payの決済画面へ遷移します。</h2>
<input type="submit" value="続行">
</center>
</noscript>
<input type="hidden" name="AccessID" value="{AccessID}">
<input type="hidden" name="Token" value="{Token}">
</form>
<script >
<!--
function OnLoadEvent() {
document.LinepayStartCall.submit();
}
//-->
</script>
</body>
</html>
リダイレクトページサンプル(ユーザー端末情報がAPPの場合:Androidアプリの例)
下記のサンプルコードでLINEアプリのインストール有無と使用可能なLINE Payのバージョンを確認できます。
LINEアプリがインストールされていて、使用可能なLINE Payのバージョンが確認できたらLINE Pay決済画面へ移動します。
int linePaySupportedVersion = 230;
String paymentUrl = "{LinepayStartURL}"; // This is "StartUrl" String.
Context context = getActivity();
try {
PackageManager pm = context.getPackageManager();
PackageInfo packageInfo = pm.getPackageInfo("jp.naver.line.android", 0);
int versionCode = packageInfo.versionCode;
if (linePaySupportedVersion <= versionCode) {
launchUri(paymentUrl);
} else {
confirmLineInstall(context);
}
} catch (NameNotFoundException e) {
confirmLineInstall(context);
}
private void confirmLineInstall(Context context) {
new AlertDialog.Builder(context)
.setTitle("LINE Pay")
.setMessage(getString(R.String.linepay_confirm))
.setCancelable(false)
.setPositiveButton(getString(R.String.linepay_install), new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
launchUri("market://details?id=jp.naver.line.android");
}
})
.setNegativeButton(getString(R.String.linepay_cancel), new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.show();
}
private void launchUri(String uriString) {
Uri uri = Uri.parse(uriString);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
File : res/values/Strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
...
<String name="linepay_confirm">Supported by Android/iPhone LINE versions 4.8.0 or higher.</String>
<String name="linepay_install">Get it now</String>
<String name="linepay_cancel">cancel</String>
...
</resources>
リダイレクトページサンプル(ユーザー端末情報がAPPの場合:iPhoneアプリの例)
下記のサンプルコードでLINEアプリのインストール有無を確認することができます。
LINEアプリがインストールされているとLINE Pay決済画面へ移動します。
NSString* lineScheme = @"line://";
BOOL installed = [[UIApplication sharedApplication]
canOpenURL:[NSURL URLWithString:lineScheme]];
if (installed) {
UIAlertView *alert =
[[UIAlertView alloc] initWithTitle:@"LINE Pay"
message:NSLocalizedString(@"linepay.confirm", nil)
delegate:self
cancelButtonTitle:NSLocalizedString(@"linepay.ok", nil)
otherButtonTitles:nil];
alert.tag = 1;
[alert show];
} else {
UIAlertView *alert =
[[UIAlertView alloc] initWithTitle:@"LINE Pay"
message:NSLocalizedString(@"linepay.confirm", nil)
delegate:self
cancelButtonTitle:NSLocalizedString(@"linepay.cancel", nil)
otherButtonTitles:NSLocalizedString(@"linepay.install", nil), nil];
alert.tag = 2;
[alert show];
}
- (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if (alertView.tag == 1 && buttonIndex == 0) {
NSString *paymentUrl = "{LinepayStartURL}"; // This is "StartUrl" String.
[self launchUrl:paymentUrl];
} else if (alertView.tag == 2 && buttonIndex == 1) {
[self launchUrl:@"itmsapps://
itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=443904275&mt=8"];
}
}
- (void)launchUrl:(NSString*)urlString {
NSURL *url = [NSURL URLWithString:urlString];
[[UIApplication sharedApplication] openURL:url];
}
リダイレクト後、お客様はLINE Payログイン画面へ遷移します。
決済結果受信
当サービスは支払操作が完了している場合は、【決済実行】で指定した決済結果戻しURLに決済結果を通知します。
支払操作がキャンセルされた場合、及び支払い操作が失敗した場合は、【決済実行】で指定した処理NG時URLに結果を通知します。
ブラウザを×ボタンで閉じた場合など、ユーザの操作方法によっては支払操作が完了したにもかかわらず、加盟店様に通知されないことがあります。
その際は管理画面または結果通知にてご確認ください。
また、同様の理由でこの決済結果が複数回加盟店様に通知されることがあります。
レスポンス
正常
ShopID |
必須
半角英数13桁
ショップID |
|
---|---|---|
OrderID |
必須
半角英数記号27桁
オーダーID |
|
AccessID |
必須
半角英数記号32桁 固定
取引ID |
|
Status |
必須
現状態該当取引の取引状態を返却します。 |
|
CheckString |
必須
半角英数記号32桁
MD5ハッシュOrderID,AccessID,ShopID,ShopPass,RegKeyのハッシュ値を返却します。 |
|
PayMethod |
必須
半角英字記号20桁
支払手段LINEPayで決済時に使用した決済手段が返却されます。 |
|
RegKey |
必須
半角英数15桁
RegKey |
|
ClientField1 |
全半角100バイト
加盟店自由項目1 |
|
ClientField2 |
全半角100バイト
加盟店自由項目2 |
|
ClientField3 |
全半角100バイト
加盟店自由項目3 |
ShopID=tshop11223344&OrderID=ORDER0000001&AccessID=467d50a6bc03dabe1713f8d49042bd96&Status=AUTH&CheckString=eca915699bfaf2afa4284988d67d7fac&PayMethod=CREDIT_CARD&RegKey=REGKEY123456789&ClientField1=&ClientField2=&ClientField3=
ErrCode=E01&ErrInfo=E01040001
LinepayCancelReturn キャンセル・返品
決済が完了した取引に対して決済内容のキャンセル・返品を行います。
リクエスト
ShopID | 必須
半角英数13桁
ショップID
|
|
---|---|---|
ShopPass | 必須
半角英数64桁
ショップパスワード
|
|
AccessID | 必須
半角英数32桁 固定
取引ID |
|
AccessPass | 必須
半角英数32桁 固定
取引パスワード |
|
CancelAmount | 必須
半角数字8桁
キャンセル金額
|
|
CancelTax | 半角数字7桁
キャンセル税送料 キャンセル金額+キャンセル税送料をキャンセル金額とします。(1円以上) |
/payment/LinepayCancelReturn.idPass
ShopID=tshop11223344&ShopPass=PASSWORD&AccessID=a6a6b0061347e90cdef806b39bd28705&AccessPass=5e0e54b892e14ed03e8cf807a6053813&CancelAmount=500
レスポンス
正常
OrderID | 必須
半角英数記号27桁
オーダーID
|
|
---|---|---|
AccessID | 必須
半角英数32桁 固定
取引ID【決済キャンセル・返品】呼び出し時に指定した値を返却します。 |
|
Status | 必須
現状態 キャンセル・返品成功時は以下のステータスが返却されます。 |
|
Amount | 必須
半角数字8桁
利用金額 利用金額からキャンセル金額を減算した結果を返却します。 |
|
Tax | 必須
半角数字7桁
税送料 税送料からキャンセル税送料を減算した結果を返却します。 |
|
CancelAmount | 必須
半角数字8桁
キャンセル金額
|
|
CancelTax | 必須
半角数字7桁
キャンセル税送料
|
OrderID=ORDER0000001&AccessID=a6a6b0061347e90cdef806b39bd28705&Status=CANCEL&Amount=0&Tax=0&CancelAmount=1000&CancelTax=100
ErrCode=E01&ErrInfo=E01040001
LinepaySales 実売上
仮売上の決済に対して実売上を行います。尚、実行時に仮売上時との金額チェックを行います。
リクエスト
ShopID | 必須
半角英数13桁
ショップID
|
|
---|---|---|
ShopPass | 必須
半角英数64桁
ショップパスワード
|
|
AccessID | 必須
半角英数32桁 固定
取引ID |
|
AccessPass | 必須
半角英数32桁 固定
取引パスワード |
|
Amount | 必須
半角数字8桁
利用金額
|
|
Tax | 半角数字7桁
税送料 利用金額+税送料が売上金額となります(1円以上) |
/payment/LinepaySales.idPass
ShopID=tshop11223344&ShopPass=PASSWORD&AccessID=a6a6b0061347e90cdef806b39bd28705&AccessPass=5e0e54b892e14ed03e8cf807a6053813&Amount=1000
レスポンス
OrderID=ORDER0000001&AccessID=a6a6b0061347e90cdef806b39bd28705&Status=SALES&Amount=1000&Tax=100
ErrCode=E01&ErrInfo=E01040001
SearchTradeMulti 取引状態参照
対象取引の取引状態を取得します。
レスポンス
正常
Status | 必須
現状態 UNPROCESSED:未決済 |
|
---|---|---|
ProcessDate | 必須
半角数字14桁 固定
処理日時yyyyMMddHHmmss書式 |
|
JobCd | 必須
処理区分 AUTH:仮売上 |
|
AccessID | 必須
半角英数32桁 固定
取引ID |
|
AccessPass | 必須
半角英数32桁 固定
取引パスワード |
|
Amount | 必須
半角数字8桁
利用金額 |
|
Tax | 必須
半角数字7桁
税送料 |
|
SiteID | 半角英数13桁
サイトID未使用項目 |
|
MemberID | 半角英数60桁
会員ID未使用項目 |
|
Currency | 半角英字3桁
通貨コード決済に利用された通貨を返却します。 |
|
TranID | 半角英数19桁
LINE PayトランザクションID
|
|
ClientField1 | 必須
全半角100バイト
加盟店自由項目1
|
|
ClientField2 | 必須
全半角100バイト
加盟店自由項目2
|
|
ClientField3 | 必須
全半角100バイト
加盟店自由項目3
|
|
PayType | 必須
半角数字2桁
決済方法20:LINE Pay |
|
LinepayProductName | 必須
全半角4000桁
LINE Pay商品名 |
|
LinepayPayMethod | 半角英数20桁
支払方法決済に使用されたLINE Pay決済の支払手段を返却します。 |
|
LinepayCancelAmount | 半角数字8桁
キャンセル金額キャンセル・返品した金額を返却します。 |
|
LinepayCancelTax | 半角数字8桁
キャンセル税送料キャンセル・返品した税送料を返却します。 |
|
LinepayRegKey | 半角英数15桁
RegKey |
|
LinepaySettlementRegKey | 半角英数15桁
決済用 RegKey空を返却します。 |
Status=SALES&ProcessDate=20210308125035&JobCd=SALES&AccessID=a6a6b0061347e90cdef806b39bd28705&AccessPass=5e0e54b892e14ed03e8cf807a6053813&Amount=1000&Tax=100&SiteID=&MemberID=&Currency=&TranID=&ClientField1=&ClientField2=&ClientField3=&PayType=20&LinepayProductName=test&LinepayPayMethod=&LinepayCancelAmount=&LinepayCancelTax=&LinepayRegKey=&LinepaySettlementRegKey=
ErrCode=E01&ErrInfo=E01040001
LinepayInquiryRegkey RegKey照会
LINE PayへRegKeyのステータスを照会します。
レスポンス
正常
RegKey | 必須
半角英数15桁
RegKey |
|
---|---|---|
Status | 必須
半角数字4桁
ステータス |
|
PayMethod | 必須
半角英数20桁
支払方法随時決済時に使用されるLINEPayの決済手段 |
|
CardBrand | 必須
カードブランド 随時決済時に使用されるクレジットカードのブランド |
|
RegistDate | 必須
半角数字14桁 固定
RegKey発行日時yyyyMMddHHmiss形式 |
|
ProcessLastDate |
半角数字14桁 固定
RegKey最終利用日時随時決済が成功した最新の日時を返却します。 |
RegKey照会ステータス一覧
ステータス | 内容 |
---|---|
0000 | 成功(RegKeyを使って随時決済を利用できる状態です。) |
1101 | LINE Payのユーザーではありません。 |
1102 | ユーザーが取引できない状態です。 |
1141 | 支払い口座エラー |
1154 | 自動決済に指定した決済手段を利用できない状態です。 |
1190 | RegKeyが存在しません。 |
1193 | RegKeyが期限切れになっています。 |
RegKey=REGKEY123456789&Status=0000&PayMethod=CREDIT_CARD&CardBrand=MASTER&RegistDate=20210315104910&ProcessLastDate=
ErrCode=E01&ErrInfo=E01040001
LinepayEndRegkey RegKey終了
発行したRegKeyの利用を終了します。 一度利用終了させたRegKeyが再度有効にすることはできません。
レスポンス
正常
RegKey | 必須
半角英数15桁
RegKey |
|
---|---|---|
Status | 必須
半角数字4桁
ステータス |
RegKey終了ステータス一覧
ステータス | 内容 |
---|---|
0000 | 成功(RegKeyを無効化しました。) |
1190 | RegKeyが存在しません。 |
1193 | RegKeyが期限切れになっています。 |
RegKey=REGKEY123456789&Status=0000
ErrCode=E01&ErrInfo=E01040001